perm filename UPDATE.IRC[IRC,LCS]1 blob sn#496776 filedate 1980-02-14 generic text, type T, neo UTF8
MS.LCS[MUS,DOC] ************

---CODE 4  31/JAN/80

	   ADD 1000 MORE FOR THIN DOUBLE BAR. 2000,3000,4000 =RPTS.

REPT. BARS  NUM OF    |   0   |   0   |       |       |       |       
           STAVES UP  |       |       |       |       |       |       
 +2000=DOTS TO RIGHT  |       |       |       |       |       |       
 +3000=DOTS RT & LFT  |       |       |       |       |       |       
 +4000=DOTS TO LEFT   |       |       |       |       |       |       


MS *************

---MS.F4  15/JAN/80

CCC 24/1/80  590	IF(I2.NE.LDD)GO TO 600
590	IF(I1.EQ.LAA)JA=190
C  'AD'just stems to beams.  'A'=ADJUST LFT-RT POS. AFTER 'SET' COMMAND

1800	IF(REDIT.NE.55.)REDIT=0
C NEEDED FOR 'S'ET, THEN 'A'LIGNE ROUTINE


---NOTBMS.F4


C clefs =  3xyz.0   z=0=treble, =1=bass, =2=alto, =3=tenor, neg.=invis.
C use TRE,BAS,ALT,TEN for clefs with no change to note levels.(4,5,6,7)

23  	CLF=ABS(X)-3000.
	IF(CLF.LT.4)GO TO 223
C NOW CLEFS THAT DON'T INFLUENCE NOTE LEVELS. (4,5,6,7)
	CLF=CLF-4
	GO TO 323
223	JCLF=CLF
	IF(X.LT.0)GO TO 871
C  IS THE CLEF INVISIBLE?
323	R5=CLF


---LOOP.FAI  JAN/80

	CAML [5.0]		;FOR ONLY SINGLE CODE # ON ALL LINES. CAMGE [5.0]
	JRST E144		; "    ARE WE IN BOUNDS?
	JUMPE 5,.+3		; IF 0, ANY CODE NUM. WILL DO
	CAME 5,XRN(1)		;  IS IT THE RIGHT CODE NUM?
	JRST E144		; WRONG CODE NUM.
	CAMG 4,[7.0]		; STAFF NUM .GT. 7?
	CAMN 4,XRN+1(1)		; OR IS IT SPECIFICALLY THE RIGHT STAFF NUM?
	JRST E344

---SCAN.FAI

      	MOVE  	02,[3001.0]		;BASS CLEF=3001
SCLEF:	MOVE N,INP(ML)	;N=INP(ML+1)   GET 3RD CHAR. 
	CAMN N,LBL	;IF(N.EQ.' '.OR.N.EQ.'/'.OR.N.EQ.';')GO TO SCLF
	JRST SCLF	;IF 3RD CHAR IS SIGNIFICANT THEN SPECIAL CLEF
	CAME N,LSL	; 4,5,6,7 = 0,1,2,3 BUT NO INFLUENCE ON NOTE LEVEL
	CAMN N,ISEMI
	JRST SCLF
	FADR 2,[4.0]
	AOS ML		;ML=ML+1


---ALPHA.FAI 15/JAN/80

BLANK:	0.70	;NEW SIZE FOR BLANKS  1/80  (OLD SIZE WAS 1.0)
SPACER:	0	;CALL SPACERR(J5,IFNT,RB,R)
	MOVE @(16)	; J5 FOR NOW
	CAILE =47
	JRST SP10
	CAIG =9
	JRST SP117
	CAIGE =36
	JRST SP10
SP117:	MOVSI 3,201400		;[1.0]	  AC3 IS RSX
;************************ NEW BLANK SIZE *******************
	CAIN =47	;IS IT A BLANK?
	MOVE 3,BLANK	;IT IS!  NEW SIZE=.70, OLD SIZE=1.0 CHANGE IN DDT IF NEEDED.



---RHYTH.F4  29/JAN/80

70	DO 370 K=1,ITEM-1
CXX******** 1/80  70	DO 370 K=1,ITEM-IZ-1
C LOOKS ONLY AT THINGS BEFORE CURRENT INPUT.


	POS=R(3,K-1)+4
C DON'T BACK OUT OF ARRAY
	IF(K.EQ.1)POS=POS1
	GO TO 76
75	POS=RPOS(1,J)
	KZ=J+1
C  FOUND SAME TYPE OF ITEM.
	IF(K.EQ.1)GO TO 76
	RA=R(3,K-1)
C GET POSITION OF PREVIOUS ITEM
	IF(POS.LT.RA)POS=RA+3
C ARBITRARY POSITION FOR CLEF IF IT TRIES TO MATCH ONE SOMEWHERE ELSE.
76	R(3,K)=POS


---SLURZ.F4  23/JAN/80

	C=RN(6+IS)-RN(3+IS)-C*RSTJ2
CATCHES VERY SHORT SLURS - OR 1ST NOTE HAS 2 OR MORE TAILS (PUTS SLUR ABOVE)
	IF(AMOD(R(7,M),10.0).GE.2.)C=-1

---CODE4.FAI  30/JAN/80

      	IDIVI 	02,1750
	SKIPN .COMM.+=26	;IF(J5.NE.0)GO TO RPTBAR
	CAIG 2,1	;IF(DBR.LT.2)GO TO RPTBAR
	JRST RPTBAR
	AOS .COMM.+=26	;J5=1
	CAIN 2,4	;IF(DBR.EQ.4)DBR=1
	MOVEI 2,1
	MOVEM 2,DBR	;FOR REPEAT DBL.BAR WITH P5=0
RPTBAR:	MOVEM 	02,DBR   ;P4=2000=DOTS ON RIGHT, =3000=BOTH SIDES
			;=4000=DOTS ON LEFT


JUSTFY ******************  1/FEB/80

C  ADD A LITTLE SPACE IN FRONT OF DBL BAR.
	IF(KX.GT.1)GO TO 229
	IF(RL.LT.3)GO TO 25
C JUMP IF THIN DBL BAR. OLD DBL BAR HAS 1 IN P5.
CCC	IF(KX.EQ.1.OR.KX.EQ.3)RD=RD+RD
229	IF(KX.NE.2)RD=RD+RD
C 2=DOTS TO RT. 1 OR 4=DOTS TO LFT. 3=DOTS ON BOTH SIDES.
C  REPT BAR WITH DOTS TO LEFT.  ADD SPACE IN FRONT OF IT.
	RB=-RB/RBX
	IF(KX.EQ.4)KX=0
129	IF(KX.GE.2)RB=RBZ*RB


PAGE **************

---PAGE.F4  18/JAN/80

	COMMON /PX/KPN(400) /Q/Q(3500) /KBAR/KBAR(1027) /IRST/IRST

---PGSUB.F4 (FILEIN) 18/JAN/80

	JP=JJ2+KPX
	IF(JP.LE.400)GO TO 1211
	TYPE 3211,JP
	STOP
3211	FORMAT(' ARRAY OVERLOAD. KPN=',I3,'/400')
4211	FORMAT(' ARRAY OVERLOAD. Q=',I4,'/3500')
1211	JP=KQ+JPQ
	IF(JP.LE.3500)GO TO 2211
	TYPE 4211,JP
	STOP
2211	IF(KPX.EQ.1)GO TO 140

---PTMOVE.F4  14/JAN/80

	1 /IPG/IPG,JPG,BRACK(8),RSTNUM(8),RPSZ(8)

 	CALL JUSTFY(JPG-1,R,IR,KR,NP,RN,RPSZ,-1.0,R4,R5,R6,R8,R9)
C RPSZ HAS ADJUSTED SIZE FACTOR FOR EACH STAFF.
CCC	CALL JUSTFY(JPG-1,R,IR,KR,NP,RN,RSTFAC,-1.0,R4,R5,R6,R8,R9)


---TRNSP.F4 (SUBROUTINE CUES)  4/FEB/80

	RNN=RN(N+4)
	IF(RNN.LT.100)RN(N+4)=RNN+100.
C MAKE ALL NOTES INTO MINIS AND PUT ON STAFF 0
44	RN(N+2)=0
	IF(R.NE.3)GO TO 55
C IS IT A CODE 3?  CHANGE NON-CLEFS TO CODE 33.
	IF(RN(N+5).LT.6)GO TO 66
C JUMP FOR REAL CLEF
	RN(N+1)=33
	GO TO 55
66	RN(N+4)=100
C ALWAYS MINI-CLEF IN CUES.
55	IF(R.GT.2)GO TO 5
	JJ=N+11-R*2.0
	RN(JJ)=RN(JJ)/2.
C JJ=9 OR 7. CUT RHYTH VALS OF CUES 1/2 - SO THEY WILL OCCUPY LESS SPACE.


MP ************

---MPRNT.F4 15/JAN/80

	X=X*2.54
	CALL TYPFLT(X)
	CALL TYPSTR(' CM.  ')

---PLOT3.FAI  14/FEB/80

	JRST	PL1
	MOVE 4,@(16)	;IF(X2.EQ.X1.AND.Y2.EQ.Y1)RETURN
	MOVE 5,@1(16)	;AVOID DUPLICATE COORDS.
	CAMN 4,X1
	CAME 5,Y1
	JRST DIFRNT
	SKIPL @2(16)	;SKIP IF -3 IN PEN CODE
	JRA	16,3(16)	;RETURN
DIFRNT:	MOVEM 4,X1
	MOVEM 5,Y1		;SAVE X AND Y FOR NEXT TIME
	AOS	7,LX		;L=L+1


BIGGET.FAI  *********

EXTOUT:	MOVEI 0,@0(16)

EXTIN:	MOVEI 0,@0(16)